]> dgit.raspbian.org Git - gnome-shell.git/commit
keyboardManager: Preserve current keymap across reloads
authorCarlos Garnacho <carlosg@gnome.org>
Sun, 29 Apr 2018 14:28:04 +0000 (16:28 +0200)
committerCarlos Garnacho <carlosg@gnome.org>
Sun, 29 Apr 2018 15:46:31 +0000 (17:46 +0200)
commit642107a28f9616b5836d6da3b57d9bfc33acc8d0
treef7bfd46d961d8e1071ebded8b0c54be22e32ade5
parent581b38ecf481e50f15e1d749b9f698d58e5d1c4e
keyboardManager: Preserve current keymap across reloads

The IM can pretty much update the input sources anytime (even if
to set the same ones). That ends up triggering rebuilding all user
defined keymaps, and losing modifier state if we are unfortunate
enough that this caught us while pressing one.

One common situation seems to be password entries, resulting in
the wrong character being printed if the first character happens
to require the shift key.

If the current keymap is not found in the newly loaded list,
this._current will end up null, with the same behavior as we get
currently (immediate keymap reload).

https://bugzilla.redhat.com/show_bug.cgi?id=1569211

https://gitlab.gnome.org/GNOME/gnome-shell/issues/240

Closes: #240
js/misc/keyboardManager.js